home *** CD-ROM | disk | FTP | other *** search
- /* file "merge_utils.c" ... 870902-... ^z
- * misc. utilities for the merge_indices functions...
- */
-
- #include <stdio.h>
- #include <unix.h>
- #include <storage.h>
- #include <strings.h>
- #include <ctype.h>
- #include <proto.h>
- #include "qndxr.2.h"
-
- /* function to open an input key file for this generation and file number
- */
-
- FILE *open_inkfile (generation_number, file_number)
- int generation_number, file_number;
- {
- FILE *fopen();
- char fname[32];
-
- sprintf (fname, "x%dk%d", generation_number, file_number);
- return (fopen (fname, "rb"));
- }
-
-
- /* function to open an input ptr file for this generation and file number
- */
-
- FILE *open_inpfile (generation_number, file_number)
- int generation_number, file_number;
- {
- FILE *fopen();
- char fname[32];
-
- sprintf (fname, "x%dp%d", generation_number, file_number);
- return (fopen (fname, "rb"));
- }
-
-
- /* function to open an output key file for this generation and file number
- */
-
- FILE *open_outkfile (generation_number, file_number)
- int generation_number, file_number;
- {
- FILE *fopen();
- char fname[32];
-
- sprintf (fname, "x%dk%d", generation_number + 1, file_number / NMERGE);
- return (fopen (fname, "wb"));
- }
-
-
- /* function to open an output ptr file for this generation and file number
- */
-
- FILE *open_outpfile (generation_number, file_number)
- int generation_number, file_number;
- {
- FILE *fopen();
- char fname[32];
-
- sprintf (fname, "x%dp%d", generation_number + 1, file_number / NMERGE);
- return (fopen (fname, "wb"));
- }
-
-
- /* function to rename the remaining last unpaired key file & ptr file
- * from one generation to the next...
- */
-
- void fix_oddball_file_name (generation_number, file_number)
- int generation_number, file_number;
- {
- char oldname[32], newname[32];
-
- sprintf (oldname, "x%dk%d", generation_number, file_number);
- sprintf (newname, "x%dk%d", generation_number + 1, file_number / NMERGE);
- if (rename (oldname, newname))
- printf ("Sorry -- error in attempt to rename %s to %s!\n", oldname,
- newname);
-
- sprintf (oldname, "x%dp%d", generation_number, file_number);
- sprintf (newname, "x%dp%d", generation_number + 1, file_number / NMERGE);
- if (rename (oldname, newname))
- printf ("Sorry -- error in attempt to rename %s to %s!\n", oldname,
- newname);
- }
-
-
- /* function to give the final key and ptr files their proper ultimate
- * names ...
- */
-
- void fix_final_file_names (generation_number, doc_filename)
- int generation_number;
- char *doc_filename;
- {
- char oldname[32], finalname[65];
-
- sprintf (oldname, "x%dk0", generation_number);
- sprintf (finalname, "%s.k", doc_filename);
- if (rename (oldname, finalname))
- printf ("Sorry -- error in renaming file %s to %s!\n", oldname,
- finalname);
-
- sprintf (oldname, "x%dp0", generation_number);
- sprintf (finalname, "%s.p", doc_filename);
- if (rename (oldname, finalname))
- printf ("Sorry -- error in renaming file %s to %s!\n", oldname,
- finalname);
- }
-
-
- /* function to get rid of the superfluous k & p files now that they
- * have been merged into the next generation....
- */
-
- void remove_used_infiles (generation_number, file_number, n)
- int generation_number, file_number, n;
- {
- char fname[32];
- register int i;
-
- for (i = 0; i < n; ++i)
- {
- sprintf (fname, "x%dk%d", generation_number, file_number + i);
- DEBUG ("--removing %s\n", fname);
- if (unlink (fname))
- printf ("Sorry -- unable to delete file %s!\n", fname);
- sprintf (fname, "x%dp%d", generation_number, file_number + i);
- DEBUG ("--removing %s\n", fname);
- if (unlink (fname))
- printf ("Sorry -- unable to delete file %s!\n", fname);
- }
- }
-
-
- /* function to close out the ink and inp files that have been opened...
- */
-
- void close_infiles (ink, inp, n)
- FILE *ink[], *inp[];
- register int n;
- {
- register int i;
-
- for (i = 0; i < n; ++i)
- {
- fclose (ink[i]);
- fclose (inp[i]);
- }
- }
-
-
-